﻿using mozhi.smarterp.AuthorCenter.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.AuthorCenter.Identities.Clients
{
    public interface IOpenIddictClientAppService : IApplicationService
    {
        Task<PagedResultDto<OpenIddictClientDto>> GetListAsync(PagedResultRequestDto filter);

        Task<OpenIddictClientDto> GetAsync(string name);

        Task<OpenIddictClientDto> CreateAsync(OpenIddictClientCreateDto input);

        Task<OpenIddictClientDto> UpdateAsync(OpenIddictClientUpdateDto input);

        Task DeleteAsync(string name);

        Task<List<OpenIddictClientPermissionItemDto>> GetClientPermissionAsync(ClientPermissionType? type);
    }
}
